package main

import "fmt"

// Author : CSR丶WARRIOR
// Time ： 2020/10/16  18:20
// TOOLS : GoLand
// FILENAME : main.go
// STATEMENT: 方法继承练习

/*根据以下信息，实现对应的继承关系

记者：我叫张三 ，我的爱好是偷拍，我的年龄是34，我是一个男狗仔。

程序员：我叫孙全，我的年龄是23，我是男生，我的工作年限是 3年。*/
type person struct {
	name   string
	age    int
	gender string
}
type reporter struct {
	person
	hobby string
	work  string
}
type programmer struct {
	person
	workTime int
}

func (this *person) initMsg(name string, age int, gender string) {
	this.age = age
	this.name = name
	this.gender = gender
}
func (r *reporter) printInfo(hobby string, work string) {
	r.hobby = hobby
	r.work = work
	fmt.Printf("我叫%s,我的爱好是%s,我的年龄是%d,我是一个%s\n", r.name, r.hobby, r.age, r.work)
}

func (p *programmer) printInfo(time int) {
	p.workTime = time
	fmt.Printf("我叫%s,我的年龄是%d,我是%s生,我的工作年限是 %d年\n", p.name, p.age, p.gender, p.workTime)
}
func main() {
	var r reporter
	r.initMsg("张三", 19, "男")
	r.printInfo("偷拍", "狗仔")
	//我叫张三,我的爱好是偷拍,我的年龄是19,我是一个狗仔

	var p programmer
	p.initMsg("李四", 28, "男")
	p.printInfo(3)
	//我叫李四,我的年龄是28,我是男生,我的工作年限是 3年
}
